The present disclosure relates generally to databases, and more specifically, to an immediate join spilling scheme for a database.
Columnar databases that employ extensive compression have become popular for data storage applications. In a computing system including a columnar database, during query processing, the required data from the database is loaded from the database into a relatively small, fast memory that is local to the processor for processing of the data. The local memory may comprise, for example, dynamic random access memory (DRAM). The intermediate state of queries may also be held in the local memory, enabling relatively fast performance of queries on the data in the database. However, as such database systems deal with more general workloads and concurrent queries, spilling of data across multiple levels of memory (to, for example, a disk memory that comprises a larger, relatively slow memory as compared to the local memory) may be required if the data for a query does not fit in the local memory.